查看原文
其他

如何采集和处理有巨大潜在价值的快数据 Fast Data?

汪照辉 王作敬 twt企业IT社区 2022-07-03

通常情况下我们更多关注的是大数据3V中的Volume,业务场景也多以历史数据来切入,比如十年账单、客户行为分析、客户标签等都是基于历史数据或历史数据的分析来提供更进一步的服务。而对于Velocity实时快速的数据却比较少讨论(讨论的更多是Streaming process),这些数据通常是中间数据,存续时效短、体量也很大,往往不被持久化,需要实时识别、记录、追踪、分析、决策和响应,所以也被成为Fast Data。这些数据的潜在价值确是巨大的。



一、 认识Fast Data

大数据涉及大量(Volume)数据,成百上千TB到成百上千PB甚至更多;通常我们也是以此为基础来建设大数据系统。以及各种各样的(Variety)数据:结构化、半结构化和非结构化数据,不同种类的数据目前的技术基本上都能处理,比如语音、视频、图片等。大数据系统设计有助于存储、探索和分析这些大的不同的数据集。

另外,大数据通常被说成包括另一个“V”:速度(Velocity)。不过速度代表一个不同的问题,一个需要采用不同方法和专门设计来管理“Fast Data”的解决方案的问题。

Fast Data快速数据在很大程度上不同于我们所说的大体量的大数据,它是流数据,动态数据。大数据通常是相对静止数据、数百TB甚至是PB的数据,占用了大量的磁盘空间。Fast Data是动态数据。它具有不同的特征、不同的需求并且需要不同的技术来处理它。但同时也具有大数据的体量和种类,又具备流数据的速度。

当数据被采集摄取时,它被一个或多个分析和决策引擎所使用来完成流数据的特定任务,在这一点上数据是“Fast Data”。决策引擎面临的挑战就是跟上数据流的速度的脚步。举例来说比如实时发布的行情数据、以及实时股票交易数据,但目前股票交易只是记录,并未实时处理,每日日终要进行结算。这些数据时效性很强,需要及时地处理,否则其价值也就降低甚至失去。

Fast Data是流数据,但流数据不一定是Fast Data。流数据强调顺序处理,Fast Data更多是规则处理,虽然也有时序性,但更强调时效性。Fast Data需要具有分析、决策和行动的能力的技术架构支撑,即需要提供建议、做出决定或采取其他行动的基础支撑能力,只要数据到达,通常以毫秒甚至微秒为单位快速应用规则处理这些数据并返回响应。


二、 数据的时间价值

数据往往随着时间的流失而失去高价值,其保存成本却随着时间而增加。所以一些数据通常有保存年限。比如历史行情数据,时间越久远,其价值越小,通常用来做行情趋势分析时的参考,而且需要很多年很多同类或同质等股票行情数据来进行分析。如果仅有过去某一时点的数据也就没有太大意义了。所以Fast Data快速数据的价值在于其实时性,实时获取这些数据,实时处理这些数据。

数据的价值在于你怎么去使用它,存储起来而不使用的数据是没有价值的,同时还要付出保存成本。只有让数据流转起来,把数据使用起来才能发挥数据的价值。流转起来的数据才能产生新的数据,才能体现其价值。这也是建设大数据系统的目的之一,使用数据创造数据,从而创造更大价值。

Fast Data通常能够以难以置信的速度和体量产生,可能每秒以成千成万或更多的速率,比如点击流数据,金融股票数据,或传感器和仪器的数据等。这些数据是时间关键的,存在于一个很小的机会窗口中,在这个时间窗口中识别和关联其他数据,触发行动或基于事件识别和应用的分析进行决策。而这些数据时时刻刻存在于各行各业,比如金融股市、医疗临床、机械生产、自动驾驶等等。其时效性要求很高。


三、 Fast Data采集和处理

要想对数据进行处理,首先得能采集到这些数据。处理Fast Data首先要能快速采集获得这些数据。

前面我们提到Fast Data的处理通常是毫秒甚至微秒级,这可能要求我们数据从源到数据处理中心的链路要尽可能的短,数据通信能力尽可能的强,比如带宽,万兆甚至专线。目前大多数场景下人们虽然可以忍受在数秒之内处理完毕,不过还是尽可能的快,快就具备先机,就能获得别人不具备的能力,就有更多的机会。就像抢红包,谁的手机处理能力强、网络好、动作快,谁就可能抢到红包。

Fast Data由源系统或传感器和仪器等设备产生,通过消息或事件系统汇聚到数据处理平台。前些年通常会建立复杂事件处理平台来实现对不同消息事件的处理。比如证券行业基于复杂事件处理算法引擎的量化交易系统、风险实时管控系统等。

数据源或事件源多种多样,数据结构也不尽相同,对数据或事件的处理要求也不一样,因此可能不只是一个复杂事件处理平台就能够解决所有问题,可能得有多种不同的复杂事件处理平台来协同完成对事件的处理。这类似于人类社会中的人,每个人都是一个复杂事件处理系统,有些事件一个人可以处理,有些事件需要多人多个团队共同来协同处理。基于这样的认识,在一个企业内部可以逐步构建不同的事件或数据处理平台,这些平台可能是相对轻量的、分布式的、具备特定处理能力的。事件源到这些平台之间可以是点对点的,根据事件的不同分发到不同的事件处理平台,以提高性能、减小延迟。

Fast Data处理通常分为几个阶段:情境感知、洞察和识别,跟踪和记录,分析和响应。

(一) 情境感知、洞察和识别

情境感知、洞察和情境识别也有人称之为态势感知的,就像一个人所能看到的、听到的、闻到的、尝到的、触摸到的、感觉到的等等,通过不同的感官收集到身体周围的信息。这如同我们设置各种传感器、仪器、系统来获取实时的数据。数据的产生是持续的、源源不断的,通过看到的、听到的、闻到的、尝到的、触摸到的、感觉到的来感知所在的情境。目前计算机系统并不能像人一样处理那么复杂的场景,但可以尝试逐步以人的个体之于人类社会的生态系统来构建计算机系统,处理机器系统所面对的复杂信息和事件,比如自动驾驶系统。

采集是快速数据处理的第一步,采集的工作是接合流数据源,接收、转换或标准化到来的数据,识别数据来源,洞察需求,感知应用场景,哪些数据可以应用关键函数和过程,哪些数据是噪音数据,或非紧急需求,对于不同的情境请求数据进行跟踪和记录、分析和响应。

(二) 跟踪和记录

信息的发生是持续的、源源不断的,这些信息通过各种感官传递给中央处理器——大脑,大脑对这些信息进行分类、识别、存储,但我们并一不一定对我们看到的、听到的、闻到的、尝到的、触摸到的、感觉到的都采取回应,只是对某些需要回应的事件才响应,大部分信息和事件只是收集记录,并跟踪周围情境的发展,持续的跟踪并记录这些信息和事件,在计算机系统就需要保存这些信息和事件的上下文数据,就像我们的大脑,持续不断的收集到各种各样的信息,但只会对某些信息做出回应,在需要做出回应时才返回响应。

Fast Data可能接合成百上千的数据源,需要记录和跟踪这些数据源持续产生的关键数据,用于持续不断的分析和决策支持。

(三) 分析、决策和响应

分析和决策引擎如同我们的大脑,有视觉区、听觉区、感觉区、躯体运动区、语言区、情感区、逻辑区等等,这如同一个个事件处理引擎,同步分别处理来自不同感官的信息,统一由大脑中枢来协同。这也给我们启示,在构建大数据系统时不是只构建一个大集中的系统,而应该是分中心化、组件化或者采用类似组件微服务方案,但这些分中心或微服务组件又相互联系,被统一管控,协调处理来自不同数据源和事件源的信息。不过其挑战可是事件处理规则的定义和事件优先级的定义。

我们认为在构建大数据平台是可能特别需要避免类似ESB的集成方案。其性能会成为一个难以忍受的瓶颈,一个好的方法可能是采用微服务架构重构业务应用,但其初期成本会很高,技术要求也很高,而且不是你叫它微服务它就是微服务的。

数据或事件通过分析引擎和决策引擎处理之后根据定义的规则采取相应的行动,比如自动驾驶,对当前时点各传感器的数据分析之后是安全的,可以继续行驶,如果存在危险,则需要刹车或者避让,至于采取哪种行动,这就是决策引擎需要干的事。可以安全避让的就不需要刹车,无法安全避让的就必须刹车,这些处理需要在瞬间完成并做出决策。这也是复杂事件处理的过程。最终根据决策做出响应。


四、 Fast Data 应用

Fast Data通常用于实时洞察和实时风险管控,这样可以主动的管理风险,避免被动响应,疲于应付。比如实时监控可疑的活动,金融欺诈、金融反洗钱活动、股票内幕交易等,也可用于量化交易、交易辅助支持、实时交易风险控制等业务活动。可以有效的识别机会和风险,对只有先发优势的存在或潜在机会采取行动。或者,使用预测分析相应的规则算法或先进的数据算法识别新的机遇,然后通过合并相关性,综合上下文及实时数据,也就是基于历史数据和实时数据在大数据平台上的深度分析,生成更好的结果,并做出精确的预测。


作者:汪照辉 王作敬 (中国银河证券股份有限公司 信息技术部IT研发中心)


为让我们的推送及时和您见面

可以把我们设为“星标”(置顶)




长按二维码关注公众号


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存